package com.hzya.frame.utils.core.service;

import java.io.Serializable;
import java.util.List;

import com.hzya.frame.utils.core.page.PageInfo;

public abstract interface IBaseService<E extends Serializable, PK extends Serializable> {
	public abstract E get(PK paramPK);

	public abstract int removeById(PK paramPK) throws Exception;

	public abstract int logicRemove(PK paramPK) throws Exception;

	public abstract int logicRemoveMultiCondition(E paramE) throws Exception;

	public abstract E saveOrUpdate(E paramE) throws Exception;

	public abstract E save(E paramE) throws Exception;

	public abstract E update(E paramE) throws Exception;

	public abstract E queryOne(E paramE);

	public abstract List<E> getAll();

	public abstract List<E> query(E paramE);

	public abstract List<E> queryByLike(E paramE);

	public abstract List<E> queryByOr(E paramE);

	public abstract PageInfo<E> queryPaged(String paramString, E paramE);

	public abstract PageInfo<E> queryPaged(E paramE);

	public abstract boolean checkRepeated(E paramE);
}